Pular para o conteúdo principal

Início Rápido Expo

Dentro da raiz do seu projeto gerenciado pelo Expo, você precisará instalar algumas bibliotecas para configurar o ambiente necessário. Existem algumas bibliotecas essenciais que você precisará instalar, conforme mostrado abaixo.

  • expo-notifications
  • expo-constants
  • rn-grouplink-sdk
  • grouplink-sdk-expo-plugin
npx expo install expo-notifications &&
npx expo install expo-constants &&
npm install @grouplinknetwork/rn-grouplink-sdk &&
npm install @grouplinknetwork/grouplink-sdk-expo-plugin

Passo 2 - Configuração do Plugin

Depois de instalar todas as bibliotecas necessárias, você precisará configurar o plugin do Group Link. Para fazer isso, você deve inserir o rn-grouplinksdk-expo-plugin com as opções necessárias, como o token para inicializar o plugin. Você precisa inserir isso dentro do array de plugins no seu app.json, que pode ser encontrado na pasta raiz.

"plugins": [
[
"@grouplinknetwork/grouplink-sdk-expo-plugin",
{
"token": "GROUP_LINK_TOKEN"
}
]
]

Após isso, você deverá executar:

npx expo prebuild

Aqui estão todos os parâmetros que você pode chamar dentro do nosso plugin:

  • token - string - O token de inicialização do Group Link

Configurações Específicas para iOS - Você precisa solicitar permissão para bluetooth e localização

  • initBluetoothIOS - boolean - A função bluetooth do Group Link para iOS (isso solicitará permissão do usuário para usar o bluetooth) - o padrão é false
  • initLocationIOS - boolean - A função de localização do Group Link para iOS (isso solicitará permissão do usuário para usar a localização) - o padrão é false
  • initNotificationIOS - boolean - A função de notificação do Group Link para iOS (isso solicitará permissão do usuário para usar notificações) - o padrão é false

Strings do Info.plist - ESSAS STRINGS NÃO SUBSTITUIRÃO STRINGS JÁ DEFINIDAS

  • NSLocationAlwaysAndWhenInUseUsageDescription - string - A string de uso do Core Location Always no info.plist do iOS - o padrão é "Nós precisamos da permissão de localização para uma melhor experiência de usuário"
  • NSLocationWhenInUseUsageDescription - string - A string de uso do Core Location While in Use no info.plist do iOS - o padrão é "Nós precisamos da permissão de localização para uma melhor experiência de usuário"
  • NSBluetoothPeripheralUsageDescription - string - A string de uso do Core Bluetooth Peripheral no info.plist do iOS - o padrão é "Nós precisamos da permissão de bluetooth para uma melhor experiência de usuário"
  • NSBluetoothAlwaysUsageDescription - string - A string de uso do Core Bluetooth no info.plist do iOS - o padrão é "Nós precisamos da permissão de bluetooth para uma melhor experiência de usuário"

Passo 3 - Configuração do Token de Notificações Push

Para obter seu token de notificação, você precisará usar as bibliotecas expo-notifications e expo-constants. Você pode obter a string do token usando a função abaixo e enviá-la para o nosso SDK via setDevicePushTokenIOS do nosso SDK React Native.

Primeiro, importe as dependências necessárias para o arquivo de inicialização da sua aplicação.

import Constants from "expo-constants";
import * as GroupLinkSDK from "@grouplinknetwork/rn-grouplink-sdk";
import * as Notifications from "expo-notifications";

Depois disso, insira a função de parse de notificação abaixo

const getPushToken = () => {
if (!Constants.isDevice) {
return Promise.reject("VOCÊ ESTÁ EXECUTANDO NO SIMULADOR");
}

try {
return Notifications.getPermissionsAsync()
.then((statusResult) => {
return statusResult.status !== "granted"
? Notifications.requestPermissionsAsync()
: statusResult;
})
.then((statusResult) => {
if (statusResult.status !== "granted") {
throw "Falha ao obter o token de push para notificação!";
}
return Notifications.getDevicePushTokenAsync();
})
.then((tokenData) => tokenData.data);
} catch (error) {
return Promise.reject("Não foi possível verificar as permissões de notificações");
}
};

Você pode obter o token de notificação usando esta função dentro do seu código. Recomendamos usar um useEffect com a inicialização da aplicação para definir o token dentro do nosso SDK. Não se esqueça de importar o React.

React.useEffect(() => {
getPushToken().then((token) => {
GroupLinkSDK.setDevicePushTokenIOS(token);
});
}, []);